#ifndef BORRARCLIENTE_H
#define BORRARCLIENTE_H

#include <QWidget>

/****************************************************
 * INCLUDES PARA TODO LO RELACIONADO CON LA CONEXION*
 * CON LA BASE DE DATOS SQLITE                      *
 ****************************************************/
#include "../conexion/conexion.h"

typedef struct datsC{
    QString name;
    QString apellidos;
}datsC;

namespace Ui {
class borrarcliente;
}

class borrarcliente : public QWidget
{
    Q_OBJECT
    
public:
    explicit borrarcliente(QWidget *parent = 0);
    ~borrarcliente();
    //FUNCION QUE RECIBE EL PUNTERO A LA CONEXION
    //CON LA BASE DE DATOS
    void addPDb(void );
    
private:
    Ui::borrarcliente *ui;
    //PUNTERO A LA CLASE DE LA CONEXION
    conexionDB* cnnDb;
    //PUNTERO A LISTA ENLAZADA QUE ALMACENA LOS NOMBRES
    //DE LOS CONTACTOS
    datosCnt* dtsCnt;
    Datos* dtsCntShw;
    //FUNCION QUE SE ENCARGA DE LLENAR EL COMBOBOX
    void loadCbCnt( void );
    //FUNCION RECURSIVA QUE SE ENCARGA DE LLENAR EL
    //COMBOBOX
    void addCbDts( struct datosCnt **list );
    //FUNCION QUE SE ENCARGA DE LIMPIAR LOS CAMPOS
    //QUE MUESTRAN LOS DATOS DEL CLIENTE
    void clearCampsDats( void );
    //FUNCION QUE RETORNA EL NOMBRE Y APELLIDOS A BUSCAR
    datsC* brwDtsClnt( datsC *dats, datosCnt **list,int sel );

private slots:
    //SLOT PARA COMENZAR A LIBERAR MEMORIA UTILIZADA
    void clearMemmoryAll( void );
    //SLOT PARA SABER QUE ITEM SE HA SELECCIONADO
    //DEL COMBOBOX Y MOSTRAR SUS DATOS
    void selectedCB( void );
    //SLOT QUE ES PARA BUSCAR LOS DATOS DEL CONTACTO SELECCIONADO
    void buscaDatosClnt(int seleccion );
    //SLOT PARA BORRAR LOS DATOS DE UN CLIENTE
    void clearDatosClnt( void );
    //SLOT QUE SE CONECTA CON EL CIERRE DE LA VENTANA
    //Y SE ENCARGA DE LIBERAR MEMORIA
    void clearMDts(void );

signals:
    void buscar( int );
};

#endif // BORRARCLIENTE_H
